From: Colin Walters Date: Wed, 8 Jul 2009 21:30:09 +0000 (-0400) Subject: Add magic "js " prefix to runDialog to run arbitrary JavaScript X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~11213 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1cb6fc004b5c8752b73e5258db8ac9c71bde71e3;p=gnome-shell.git Add magic "js " prefix to runDialog to run arbitrary JavaScript This is useful for debugging things; e.g. you can "js Meta.quit(0)" to exit the WM, "js Shell.Global.get()...." etc. --- diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js index eafdaef34..fc5493ad8 100644 --- a/js/ui/runDialog.js +++ b/js/ui/runDialog.js @@ -79,7 +79,22 @@ RunDialog.prototype = { }, _run : function(command) { - if (command == 'restart') { + if (command.slice(0, 3) == 'js ') { + let commandHeader = "const Clutter = imports.gi.Clutter; " + + "const GLib = imports.gi.GLib; " + + "const Gtk = imports.gi.Gtk; " + + "const Mainloop = imports.mainloop; " + + "const Meta = imports.gi.Meta; " + + "const Shell = imports.gi.Shell; " + + "const Main = imports.ui.main; "; + let cmd = commandHeader + command.substring(2); + try { + let result = eval(cmd); + log("" + result); + } catch (e) { + log(e); + } + } else if (command == 'restart') { let global = Shell.Global.get(); global.reexec_self(); } else if (command) {